<?php
/**
 * 二分查找法
 * @param Number $num 要查找的数字
 * @param array $arr 被查找的数组
 * @return Number 返回所查找数字的索引
 */
function findIndex($num,$arr){
    $left = 0;
    $right = count($arr)-1;
    while($right-$left>0){
        $index = (floor(($right-$left)/2))+$left;
        if($num==$arr[$index]){
            return $index;
        }else if($num>$arr[$index]){
            $left=$index+1;
        }else if($num<$arr[$index]) {
            $right=$index-1;
        }
    }
    return $left;
}
$arr = array(1,3,4,6,7,8,9,12,15);
echo findIndex(6, $arr);
?>
